import json


'''
    json工具
'''


# json转换工具
class JsonHandler:

    # python原始类型 转成 json
    def originalToJson(self, original):
        return json.dumps(original)

    # json 转成 python原始类型
    def jsonToOriginal(self, jsonData):
        return json.loads(jsonData)

    # 获取文件中的json
    def getJsonFromFile(self, filePath):
        with open(filePath, 'r') as f:
            data = json.load(f)
            return data

    # 将json写入到文件
    def writeJsonToFile(self, filePath, jsonData):
        with open(filePath, 'w') as f:
            json.dump(jsonData, f)


filePath = 'data.json'
data = {
    'no': 1,
    'name': 'Runoob',
    'url': 'http://www.runoob.com'
}
jsonHandler = JsonHandler()
json1 = jsonHandler.originalToJson(data)
print("python原始类型转成json" + json1)
original1 = jsonHandler.jsonToOriginal(json1)
print("json转成python原始类型" + str(original1))

jsonHandler.writeJsonToFile(filePath, json1)
json2 = jsonHandler.getJsonFromFile(filePath)
print("获取文件中的json" + json2)

# data = {
#     'no': 1,
#     'name': 'Runoob',
#     'url': 'http://www.runoob.com'
# }
#
# # 将 Python 对象编码成 JSON 字符串
# json_str = json.dumps(data)
#
# print("字典原始数据:", repr(data))
# print("json对象:", json_str)
#
# # 将已编码的 JSON 字符串解码为 Python 对象
#
# data2 = json.loads(json_str)
# print("data2['name']: ", data2['name'])
# print("data2['url']: ", data2['url'])
#
#
# # 如果处理的是文件，而不是字符串，使用json.dump()和json.load()
# # 将json写入到文件
# with open('data.json', "w") as f:
#     json.dump(data, f)
#
# # 读取文件中的json
# with open('data.json', 'r') as f:
#     data = json.load(f)
#     print("读取json文件数据：", data)
